﻿namespace NTLib.Pipe.Network.Containers
{
    using NTLib.Core.Memory;
    using NTLib.Pipe.Network.Messages;
    using Streaming.Containers;
    using System;
    using System.Collections.Generic;
    using System.IO;

    /// <summary>
    /// Package used to send an http package
    /// </summary>
    public class HttpPackage : Disposable, IPackage
    {
        #region Fields

        private readonly Guid _id = Guid.NewGuid();

        #endregion

        #region Properties

        /// <summary>
        /// Gets the identifier.
        /// </summary>
        public Guid Id
        {
            get { return this._id; }
        }

        /// <summary>
        /// Gets the headers.
        /// </summary>
        public IReadOnlyDictionary<string, List<string>> Headers { get; private set; }

        /// <summary>
        /// Gets the cookies.
        /// </summary>
        public IReadOnlyDictionary<string, List<string>> Cookies { get; private set; }

        /// <summary>
        /// Gets the type.
        /// </summary>
        public HttpMessageType Type { get; private set; }

        public Stream Stream
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        #endregion
    }
}
